package com.cloudm.technician.ui.modules.scan_qr_code

import com.cloudm.technician.data.config.Config
import com.cloudm.technician.extensions.isLicense
import com.cloudm.technician.extensions.isSnCode
import com.cloudm.technician.ui.base.RxPresenter

/**
 * 作者: wesley
 * 时间: 2017/12/21
 * 描述: 扫描二维码界面的业务逻辑
 */
class ScanQrCodePresenter(private val view: ScanQrCodeContract.View) : RxPresenter(),
        ScanQrCodeContract.Presenter {


    override fun onTextChanged(value: String?, flag: Int) {
        if (value == null || value.isNullOrEmpty()) {
            return
        }
        when (flag) {
            0 -> {
                val license = when (value.contains(Config.LICENSE_PREFIX)) {
                    true -> value.substringAfterLast(Config.LICENSE_PREFIX)
                    else -> value
                }
                if (license.isLicense()) {
                    view.scanSuccess(license)
                }
            }

            1, 2 -> {
                if (value.isSnCode()) {
                    view.scanSuccess(value)
                }
            }

            3 -> {
                val license = when (value.contains(Config.LICENSE_PREFIX)) {
                    true -> value.substringAfterLast(Config.LICENSE_PREFIX)
                    else -> value
                }
                if (license.isLicense()) {
                    view.scanSuccess(license)
                    return
                }
                if (value.isSnCode()) {
                    view.scanSuccess(value)
                }
            }
        }
    }
}